package hibernate;

import java.util.ArrayList;
import java.util.Vector;

import modelo.Cronograma;
import modelo.Cronograma;
import modelo.Curso;
import modelo.Docente;
import modelo.Materia;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import antlr.collections.List;

public class HibernateDaoGenerarCronograma {
	
	private static HibernateDaoGenerarCronograma instancia;
	private static SessionFactory sf;
	
	public static HibernateDaoGenerarCronograma getInstancia(){
		if(instancia == null) {
			instancia = new HibernateDaoGenerarCronograma();
			sf = HibernateUtil.getSessionFactory();
			
		}
		return instancia;
	}
	
	public void generarCronograma()
	{
		
		java.util.List<Curso> c= HibernateDaoCurso.getInstancia().traerCursos();
		
		for(int i=0; i<c.size();i++){
			java.util.List<Materia> m= HibernateDaoHorasMateria.getInstancia().traerMateriasDelCurso(c.get(i));
			System.out.println(c.get(i).getNombre());
			for(int j=0;j<m.size();j++)
			{
				java.util.List<Docente> d= HibernateDaoMateria.getInstancia().traerDocentesDeMateria(m.get(j));
				System.out.println(m.get(j).getNombre());
				for(int k = 0; k< d.size();k++)
				{
					if(d.get(k).puedeDarMateriaEnCurso(c.get(i), m.get(j)))
					{
						
					}
				}
			}
		}
		
	}
	
	
	public void guardarCronograma(Cronograma c)
	{
		Session session = sf.openSession();
		session.beginTransaction();
		session.saveOrUpdate(c);
		session.getTransaction().commit();
		session.close();
	}

}
